#ifndef __SMS_THEME__
#define __SMS_THEME__

#include <gdk-pixbuf/gdk-pixbuf.h>

typedef enum _THEME_COLOR_ID{
	THEME_COLOR_TEXT_ACTIVE,
 THEME_COLOR_TEXT_DISACTIVE,
 THEME_COLOR_TEXT_SELECTED,
 THEME_COLOR_COUNT
}THEME_COLOR_ID;

typedef enum _THEME_PIC_ID{
	THEME_PIC_LAYOUT_BG,
	THEME_PIC_BUTTON_FG,
	THEME_PIC_BUTTON_BG,
	/*general listview resource*/
	THEME_PIC_LISTVIEW_FRAME,
	THEME_PIC_LISTVIEW_BACKGROUND,
	THEME_PIC_LISTVIEW_FG,
	THEME_PIC_LISTVIEW_ICON,
	/*ALPHA320 left listview resource*/
	THEME_PIC_LEFT_LISTVIEW_FRAME, //7
	THEME_PIC_LEFT_LISTVIEW_BACKGROUND,
	THEME_PIC_LEFT_LISTVIEW_FG,
	THEME_PIC_LEFT_LISTVIEW_ICON,

	/**/
	THEME_PIC_ICON_TEXT_VIEW_BACKGROUND,
	THEME_PIC_ICON_TEXT_VIEW_FOREGROUND,

	THEME_PIC_TAB_FG,
	THEME_PIC_SLISTVIEW_BACKGROUND,
	THEME_PIC_SLISTVIEW_HIGHLIGHT,
	THEME_PIC_SLISTVIEW_UP,
	THEME_PIC_SLISTVIEW_DOWN,
	THEME_PIC_COUNT
}THEME_PIC_ID;

typedef enum _THEME_FONT_ID{
	THEME_FONT_BIG,
 	THEME_FONT_MIDDLE,
 	THEME_FONT_SMALL,
  	THEME_FONT_COUNT
}THEME_FONT_ID;

typedef struct _Theme
{
	char *name;
	char *font[THEME_FONT_COUNT];
	char *color[THEME_COLOR_COUNT];
	GdkPixbuf *pic[THEME_PIC_COUNT];
}Theme;

Theme * theme_new(char *name);
void theme_destroy(Theme *theme);
const GdkPixbuf *theme_get_pic(Theme * theme,THEME_PIC_ID id);
const char *theme_get_color(Theme * theme,THEME_COLOR_ID id);
const char *theme_get_font(Theme * theme,THEME_FONT_ID id);

#endif
